#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
数据处理器演示脚本
展示基础处理器和增强处理器的功能
"""

import sys
import os

# 添加项目根目录到 Python 路径
current_dir = os.path.dirname(os.path.abspath(__file__))
root_dir = os.path.dirname(os.path.dirname(current_dir))
sys.path.append(root_dir)

from backend.data_clean.processor import Processor
from backend.data_clean.enhanced_processor import EnhancedProcessor


def demo_basic_processor():
    """演示基础处理器功能"""
    print("\n" + "=" * 50)
    print("基础处理器演示")
    print("=" * 50)
    
    # 创建处理器实例
    processor = Processor()
    
    # 测试样例
    test_samples = [
        "这是一个   测试文本，包含标点符号和　　全角空格！",
        "Product: iPhone13 Pro Max (64GB) at $999.99",
        "Email: test@example.com, Website: http://example.com",
        "特殊符号 #$%^&* 和多余空格   需要   清除",
    ]
    
    for i, sample in enumerate(test_samples, 1):
        print(f"\n样例 {i}:")
        print(f"原始文本: {sample}")
        
        # 处理文本
        processed = processor.process(sample)
        print(f"处理后: {processed}")
        
        # 分词
        tokens = processor.tokenize(sample)
        print(f"分词结果: {tokens}")


def demo_enhanced_processor():
    """演示增强处理器功能"""
    print("\n" + "=" * 50)
    print("增强处理器演示")
    print("=" * 50)
    
    # 创建增强处理器实例
    enhanced_processor = EnhancedProcessor()
    
    # 测试样例
    test_samples = [
        "商品描述: iPhone13手机 64GB容量 黑色 全新未拆封",
        "这段文本包含一些HTML标签<div>和</div>，以及URL http://example.com 需要清理",
        "产品重量为5kg，尺寸为15cm x 20cm x 5cm，非常适合放在桌子上。",
        "这是一段重复的文本 重复的文本 重复的文本 重复的文本，需要删除重复内容",
    ]
    
    for i, sample in enumerate(test_samples, 1):
        print(f"\n样例 {i}:")
        print(f"原始文本: {sample}")
        
        # 使用基础处理
        basic_processed = Processor().process(sample)
        print(f"基础处理: {basic_processed}")
        
        # 使用增强处理
        enhanced_processed = enhanced_processor.process(sample)
        print(f"增强处理: {enhanced_processed}")
        
        # 增强分词
        tokens = enhanced_processor.tokenize(sample)
        print(f"增强分词: {tokens}")
        
        # 尝试实体识别（如果可用）
        entities = enhanced_processor.extract_entities(sample)
        if entities:
            print(f"实体识别: {entities}")
        
        # 尝试情感分析（如果可用）
        sentiment = enhanced_processor.analyze_sentiment(sample)
        if sentiment:
            print(f"情感分析: {sentiment}")


if __name__ == "__main__":
    print("数据处理器功能演示\n")
    
    # 演示基础处理器
    demo_basic_processor()
    
    # 演示增强处理器
    demo_enhanced_processor()
    
    print("\n演示完成！") 